rowWords
FontRec structure
#include <Fonts.h>
typedef struct FontRec { Size Offset Description
short fontType; 2 0 Font type (see defined constants,
below)
short firstChar; 2 2 ASCII code of first character defined
short lastChar; 2 4 ASCII code of last character defined
short widMax; 2 6 Width of widest character defined
short kernMax; 2 8 Negative of maximum character kern
short nDescent; 2 10 Negative of maximum distance below
baseline
short fRectWidth; 2 12 Width of font bit-image rectangle
short fRectHeight; 2 14 Height of font bit-image rectangle
long owTLoc; 4 16 Offset to start of offset/width table
(owTable)
short ascent; 2 20 Maximum distance above baseline
(in pixels)
short descent; 2 22 Maximum distance below baseline
(in pixels)
short leading; 2 24 Distance between lines (in pixels)
short rowWords; 2 26 Row width of bit image /2 (ie, in
32-bit words)
28 (size of initial part of the record)
******* Following fields are not formally declared ********
short bitImage[][]; [TOKEN:17001]t image is rowWords * fRectHeight
words
short locTable[]; [TOKEN:64512]s: (lastChar-firstChar)+3
words
short owTable[]; [TOKEN:64512] s and widths (same size as
locTable)
} FontRec; 28+n Note: size must be < 32K with 64K ROMs

Notes: The FontRec structure lays out the same as a 'FONT' resource. It is not
accessed directly in any system function used by applications. However, it
seems possible to get a handle to a 'FONT' resource, lock it in memory, and
change one or more characters in the font.
In contrast to the way this record was originally formatted, the
owTLoc field is a LONGINT instead of an INT, while the nDescent field has
become the high-order word. The nDescent field is ignored if it is negative.
The Fonts.h header defines the following constants which might be found in
the fontType field:
propFont 0x9000 Proportional font
prpFntH 0x9001 (with height table)
prpFntW 0x9002 (with width table)
prpFntHW 0x9003 (with height and width tables)
fixedFont 0xB000 Fixed-width font
fxdFntH 0xB001 (with height table)
fxdFntW 0xB002 (with width table)
fxdFntHW 0xB003 (with height and width tables)
fontWid 0xACB0 font width data only (used only in 64K ROMs)
The final three fields of FontRec vary in length, depending upon the
complexity and size of the characters in the font and the number of
characters which are defined.
The bitImage array is a very wide rectangle which defines the bits of all
characters in the font. The last part of the image is the "missing" symbol.
The locTable field is a table of offsets, within the bitImage array. Each
element contains a horizontal ordinate within the bitImage rectangle.
Missing characters have the same value as as the next character in the table.
The owTable field is a table of values describing the offset (within
locTable) and the width (in bits) of each character. A value of -1
(0xFFFF) means the character is un defined. Otherwise, the high byte is
the offset in locTable and the low byte is the width.